package com.cssw.fyzb.core.mao.user;

import com.cssw.fyzb.core.model.mos.UserMo;

/**
 * @author Feng Chen
 */
public interface UserMao {

    UserMo findByUserId(Long userId);

    UserMo findByMobile(String mobile);

    void save(Long userId, Long supUserId, String mobile, String loginPwd, String tradePwd, String nickName, String avatar);

    void saveUnion(Long userId, Long supUserId, String mobile, String nickName, String avatar, String loginPwd);

    void saveQQ(Long userId, Long supUserId, String mobile, String userName, String nickName, String province, String city, String sex, String avatar);

    void saveWechat(Long userId, Long supUserId, String mobile, String userName, String nickName, String province, String city, String sex, String avatar);

    void updateImsi(Long userId, String imsi);

    void updateLoginPwd(Long userId, String mobile, String loginPwd);

    void updateTradePwd(Long userId,String mobile, String tradePwd);

    void updateAvatar(Long userId, String avatar);

    void updateNickName(Long userId, String nickName);

    void updateSex(Long userId, String sex);

    void updateBirthday(Long userId, String birthday);

    void updateSign(Long userId, String sign);

    void updateFaceAuth(Long user, String status);

    void updateAuthInfo(Long userId, String userName, String province, String city, String district, String idCard);

    /**
     * 更新主播
     *
     * @return
     * @Param
     **/
    void updateAnchor(Long userId);

    void incLikes(Long userId);

    void decLikes(Long userId);

    void incFans(Long userId);

    void decFans(Long userId);

    void incFollows(Long userId);

    void decFollows(Long userId);

    /**
     * 直播中
     *
     * @param userId
     * @param live   1-直播中 0-未直播
     */
    void updateLive(Long userId, String live);

    void updateStatus(Long userId, String status);

    void update(UserMo userMo);

    void save(UserMo userMo);

    void updateVip(Long userId, String vip);

    void updateLikes(Long uid, Integer likes);
}
